在昨天我們談過Azure小白如何使用Docker指令推送Image到微軟ACR及建立ACI
今天我們來聊聊Azure Container Instances , 如何控制重新啟動,設定環境
變數,掛載file share記録狀態及Troubleshooting Azure Container
Instances
容器提供一種標準化且可重複的方式,來封裝、部署及管理雲端應用程式,Azure
Container Instances可讓你在 Azure中執行Container,而不需要管理
Virtual Machine,也不需要採用更高層級的服務。
對於可在隔離Container中運作的案例,包括簡單的應用程式、工作自動化及建置
工作,都十分適合使用 Azure 容器執行個體。 以下是一些優點:
-快速啟動:在幾秒內啟動容器。
-以秒為單位的計費方式:只有在容器執行時才會產生費用。
-Hypervisor 等級安全性:完全隔離您的應用程式,如同在 VM 中一樣。
-自訂大小:指定 CPU 核心和記憶體的確切值。
-永續性儲存體:直接將 Azure 檔案共用掛接至容器,以擷取和保存狀態。
-Linux 與 Windows:使用相同的 API 來為 Windows 和 Linux 容器建立排程。
環境變數可讓您以動態方式設定Container執行的應用程式或指令碼。 在建立
Container時,可以使用 Azure CLI、PowerShell 或 Azure 入口網站來設定
變數。 安全的環境變數可讓您防止在Container輸出中顯示敏感性資訊。
環境變數是可透過 Azure 入口網站和命令列工具存取的純文字,我們可以了解
如何防止敏感性資訊(例如連接金鑰)以純文字顯示安全的環境變數可防止以純文字
輸出,若要使用安全的環境變數,我們要使用--secure-environment-variables
引數來代替 --environment-variables 引數,以下為範例
az container create \
--resource-group learn-deploy-aci-rg \
--name aci-demo-secure \
--image microsoft/azure-vote-front:cosmosdb \
--ip-address Public \
--location eastus \
--secure-environment-variables \
COSMOS_DB_ENDPOINT=$COSMOS_DB_ENDPOINT \
COSMOS_DB_MASTERKEY=$COSMOS_DB_MASTERKEY
根據預設,Azure Container Instances均為stateless(無狀態),如果
Container損毀或停止,其所有狀態都會遺失。,若要在Container超過存留期後
保存其狀態,你必須從外部存放區掛接磁碟區,以下為範例
az container create \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files \
--image microsoft/aci-hellofiles \
--location eastus \
--ports 80 \
--ip-address Public \
--azure-file-volume-account-name $STORAGE_ACCOUNT_NAME \
--azure-file-volume-account-key $STORAGE_KEY \
--azure-file-volume-share-name aci-share-demo \
--azure-file-volume-mount-path /aci/logs/
執行az container logs可以看到Log,指令如下
az container logs \
--resource-group learn-deploy-aci-rg \
--name mycontainer
az container attach 命令提供Container啟動期間的診斷資訊。 一旦
Container啟動之後,它也會將標準輸出和標準錯誤資料流寫入到您的本機
終端機,指令如下
az container attach \
--resource-group learn-deploy-aci-rg \
--name mycontainer
執行 az monitor metrics list 命令以擷取 CPU 使用量資訊。
az monitor metrics list \
--resource $CONTAINER_ID \
--metric CPUUsage \
--output table
手把手執行Azure Container Instances步驟
https://docs.microsoft.com/zh-tw/learn/modules/run-docker-with-azure-container-instances/2-run-aci
手把手控制Azure Container Instances重新啟動步驟
手把手設定Azure Container Instances環境變數步驟
手把手設定Azure Container Instances使用資料磁碟區步驟
手把手針對Azure Container Instances進行疑難排解
Day25教學講義:
https://docs.microsoft.com/zh-tw/learn/modules/run-docker-with-azure-container-instances/